package Lee_code;

import java.util.ArrayList;
import java.util.List;

/**
 * @author blh
 * @date 2024年07月08日 7:42
 */
public class Lee_138_78 {
    public Node copyRandomList(Node head) {
        List<Node> list = new ArrayList<>();
        Node temp = head;
        while (temp != null) {
            list.add(temp);
            temp = temp.next;
        }
        List<Node> res = new ArrayList<>();
        // 使用上面的去初始化一个新的
        for (Node node : list) {
            res.add(new Node(node.val));
        }
        for (int i = 0; i < res.size(); i++) {
            Node curNode = res.get(i);
            Node oriNode = list.get(i);
            curNode.next = res.get(list.indexOf(oriNode.next));
            curNode.random = res.get(list.indexOf(oriNode.random));
        }
        return res.get(0);
    }
}
